#-*- coding:utf-8 -*-
# 生成器 一定是 迭代器
# 因为生成器 有next方法
# 可迭代的 例如 list dict str
# 这些都是可迭代的对象

a = [1,2,3]
# 因为迭代器是将迭代器表示成一个数据流
# 所以我们只能无限的next下去
# 而列表 dict都是可计算的
# 迭代器的计算是惰性的

b=iter(a) # 使可迭代对象 变成迭代器
print(b.__next__())
print(b.__next__())
print(b.__next__())

# 凡是可for循环的对象都是可迭代对象
# 凡是可作用于next的函数的对象都是迭代器对象
# 他们表示一个惰性计算的序列
# 集合数据 list dict str 都是可迭代对象 但是不是迭代器
# 我们可以使用iter产生一个迭代器对象
